package edu.zueb.sport.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import java.math.BigDecimal;
import java.util.Date;
import lombok.Data;

/**
 * 体育器材数据库实体类，用于持久化存储器材基础信息。
 * 对应数据库 equipment 表结构。
 */
@Data
public class Equipment {
    /**
     * 器材唯一标识ID（主键，自增）
     */
    private Integer equipmentId;

    /**
     * 关联的器材类型ID（外键，对应equipment_type表type_id字段）
     */
    private Integer equipmentTypeId;

    /**
     * 器材名称（如：动感单车、瑜伽垫）
     */
    private String name;

    /**
     * 器材品牌（生产厂商，如：Keep、迪卡侬）
     */
    private String brand;

    /**
     * 器材型号（具体规格编号，如：DC-302A）
     */
    private String model;

    /**
     * 器材单价（DECIMAL(10,2)类型，单位：元）
     */
    private BigDecimal price;

    /**
     * 当前库存总量（包含已借出数量）
     */
    private Integer stockQuantity;

    /**
     * 记录创建时间（数据库自动填充，北京时间）
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    /**
     * 最后更新时间（数据库自动更新，北京时间）
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;
}
